package com.xinghanlaser.applet.vo.applet;

import com.baomidou.mybatisplus.annotation.TableId;
import com.xinghanlaser.applet.base.flow.vo.PointVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * <p>
 *
 * <p>
 *
 * @author: mftuo 陀铭峰
 * @since: 2024/5/8 10:22
 */
@Data
public class TopicVO {
    @TableId
    private Long topicId;

    @ApiModelProperty(value = "工单类型：0代表维保单")
    private Integer topicType;

    @ApiModelProperty(value = "产品序列号")
    private String productSn;

    @ApiModelProperty(value = "产品规格型号")
    private String productSpec;

    @ApiModelProperty(value = "产品的客户名称（经销商）")
    private String customerName;

    @ApiModelProperty(value = "经销商绑定的用户ID")
    private Long customerId;

    @ApiModelProperty(value = "产品订单状态")
    private String productStatus;

    @ApiModelProperty(value = "送货日期")
    private Date deliverTime;

    @ApiModelProperty(value = "提交者的用户ID")
    private Long userId;

    @ApiModelProperty(value = "提交者的用户名")
    private String userName;

    @ApiModelProperty(value = "联系人")
    private String contactUser;

    @ApiModelProperty(value = "联系人电话")
    private String contactPhone;

    @ApiModelProperty(value = "联系地址JSON")
    private String contactAddress;

    @ApiModelProperty(value = "问题描述")
    private String problemDesc;

    @ApiModelProperty(value = "图片地址JSON")
    private String pictures;

    @ApiModelProperty(value = "创建时间")
    private String createTime;



    @ApiModelProperty(value = "当前节点")
    private Long currentPointId;

    @ApiModelProperty(value = "当前节点描述")
    private String currentPointDesc;

    @ApiModelProperty(value = "处理人")
    private String handler;

    @ApiModelProperty(value = "处理人电话")
    private String handlerPhone;


    @ApiModelProperty(value = "对于该角色下的节点状态")
    private Integer rolePointState;

    @ApiModelProperty(value = "对于改角色下的节点状态描述")
    private String rolePointStateDesc;


    @ApiModelProperty(value = "处理流程历史")
    private List<TopicHandleHistoryVO> flowHistory;

    @ApiModelProperty(value = "下一节点信息")
    private Set<PointVO> nextPointList;
}
